Skip to content

Big finish environment variables for characters and series mapping - #25

Open
SAS-1 wants to merge 9 commits into
Vito0912:mainfrom
SAS-1:BFEnvVariable
Open

Big finish environment variables for characters and series mapping#25
SAS-1 wants to merge 9 commits into
Vito0912:mainfrom
SAS-1:BFEnvVariable

Conversation

@SAS-1

@SAS-1 SAS-1 commented Jul 24, 2026

Copy link
Copy Markdown

this PR enables some additional functionality on the Big Finish scrapper

It uses ENV Variables to control these and they are switched off by default the 2 variables are

seriesmapping and characters

with these enabled the options will appear in the metadata update details screen

image

the series mapping is written in a way to allow people to mount the JSON and write their own mapping as it is subjective.

Both can be ignored without causing breaking changes.

SAS-1 and others added 9 commits July 22, 2026 12:33
Updated the GitHub Actions workflow to log in to the GitHub Container Registry and simplified the Docker image build process by removing metadata extraction.
…d series mapping to app/data folder to allow people to edit if wanted.

@Vito0912 Vito0912 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I think doing that via parameters makes more sense. Then every user can decide for themself.
Do you think something speaks against that? If so just add a comment

Comment on lines +15 to +17
const isEnvEnabled = (value: string | undefined): boolean => value?.trim().toLowerCase() === 'true'
const ENABLE_SERIES_MAPPING = isEnvEnabled(process.env.seriesmapping)
const ENABLE_CHARACTERS = isEnvEnabled(process.env.characters)

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that would better fit as an parameter for the provider via the config so that each user can decide for themselfs

Comment thread .env.example
Comment on lines +8 to +21
# Big Finish
# Big Finish Series Mapping. This is used to map the series names Big Finish
# uses to a more appropriate name for working with ABS and to try and merge seroes together where needed it can be customized to your own needs.
# The default mapping is below. If you want to use your own mapping, create a file called series_mapping.json in the config
# folder with your own mapping.
#
# Doctor stories are mapped to D[1-13]
# Friends of the Doctor stories are mapped to F[1-8]
# Torchwood stories are mapped to T[0-3]
#
# seriesmapping=true
#
# Big Finish Character's. This flag will save the character's as tags in ABS allowing you to search for stories by character.
# characters=true

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be redundant then

Comment thread docker-compose.yml
Comment on lines +14 to +16
# Big Finish Env Variables
- characters=false
- seriesmapping=false

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same

Comment thread Providers.md
Comment on lines +148 to +149
| 'characters' | boolean | true/false | allows characters to be returned as tags |
| 'seriesmapping' | boolean | true/false | series mapping to standard fileds |

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly like this then. These are for the config.json and are generated from the script, defined in package.json

@SAS-1

SAS-1 commented Jul 25, 2026

Copy link
Copy Markdown
Author

sorry not following if I move it from the docker environment variables

image

which can be ignored or not added to the compose file and leaving it missing or setting to false will give them what they have now, to the config how would someone enable them in config without building the whole project?

For example this is a compose minus the environment variables showing the search no series mapping or characters are there

image

and with them enabled these are shown

image

is it not better to have this as docker variables so it's easy to use for people?

Happy to make the changes if it's best

"description": "Maximum number of results to return (default: 3, max: 5)"
}
],
"returnedFields": [

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each provider's config.json file defines the parameters they accept. In ABS, you can use these parameters in the following format:

http://<domain>/<provider>/<parameter>

For example, to set a custom limit, you would use:

http://<domain>/<provider>/limit:5

This allows each user to decide what they want to retrieve, rather than applying the same settings to the entire provider. While users cannot change the character mapping, they can decide whether or not to use it. Currently, the configuration is applied to all requests. You can look at other requests to understand how to use more complex parameters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants